package com.ouc.service.impl;

import com.ouc.entity.CartItem;
import com.ouc.mapper.CartItemMapper;
import com.ouc.service.CartItemService;
import com.ouc.vo.OutCartItem;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;

/**
 * @Name: ShoppingCarServiceImpl
 * @Description:
 * @Author: Mr.Tong
 */
@Service
public class CartItemServiceImpl implements CartItemService {

    @Autowired
    private CartItemMapper cartItemMapper;

    @Override
    public Boolean insertItem(CartItem cartItem) {
        return cartItemMapper.insertItem(cartItem);
    }

    @Override
    public CartItem getItemByFrameCodeAndUserId(String frameCode, Integer userId) {
        return cartItemMapper.getItemByFrameCodeAndUserId(frameCode, userId);
    }

    @Override
    public Boolean updateItem(CartItem cartItem) {
        return cartItemMapper.updateQuantityAndTotalCost(cartItem);
    }

    @Override
    public List<OutCartItem> getAllCartItems(Integer userId) {
        return cartItemMapper.getAllCartItems(userId);
    }

    @Override
    public List<OutCartItem> getAllCartItemsByPaging(Integer userId, Integer page, Integer limit) {
        return cartItemMapper.getAllCartItemsByPaging(userId, (page - 1) * limit, limit);
    }

    @Override
    public CartItem getItem(String frameCode, Integer userId) {
        return cartItemMapper.getItemByFrameCodeAndUserId(frameCode, userId);
    }
}
